package leetcode_周赛._2021._202105._20210509;

/**
 * @author yzh
 * @version 1.0
 * @date 2021/5/9 10:47
 * 下标对中的最大距离
 * 如果该下标对同时满足 i <= j 且 nums1[i] <= nums2[j] ，则称之为 有效 下标对，该下标对的 距离 为 j - i​
 * 两个都是非递增数组
 * 使用 O(n * n) 超时
 * -------------------
 * 使用双指针
 * 记录 nums1 元素小于 nums2 元素的点
 */
public class _5751 {

    public int maxDistance(int[] nums1, int[] nums2) {
        int first = 0, second = 0, ans = 0;
        while (first < nums1.length && second < nums2.length) {
            if (nums1[first] <= nums2[second]) {
                ans = ans > second - first ? ans : second - first;
                ++second;
            } else ++first;
        }
        return ans;
    }
}
